/* latin */
@font-face {
	font-family: 'VT323';
	font-style: normal;
	font-weight: 400;
	src: url(font/pxiKyp0ihIEF2isfFJU.woff2) format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

.vcode-header {
	width: 100%;
	height: 50px;
	line-height: 50px;
	padding: 0px 30px;
	position: fixed;
	top: 0;
	left: 0;
}
.vcode-body {
	height: 100%;
	padding: 50px 30px;
}
.vcode-right {
	position: fixed;
	z-index: 1000;
	top: 0;
	right: 0;
	width: calc(40% - 30px);
	height: calc(100% - 110px);
	margin: 50px 0px;
}
.vcode-right-shield {
	width: 100%;
	height: calc(100% - 60px);
}

.kaptcha-content2 {
	z-index: 10;
	position: relative;
	width: 300px;
	height: 140px;
	margin: 0;
	background-color: #000;
	box-shadow: 0 0px 5px rgba(0,0,0,0.75), 0 0px 5px rgba(0,0,0,0.75);
}
.kaptcha-content2 .mask_img_bg2 {
	position: absolute;
	left: 0rem;
	top: 0rem;
	bottom: 0rem;
	right: 0rem;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	background-color: rgba(0, 0, 0, 1);
}
.kaptcha-content2 > img, .kaptcha-content2 > canvas {
	z-index: 22;
	position: relative;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
	margin: 0rem;
	padding: 0rem;
	border: 1px solid grey;
	box-sizing: border-box;
}
.kaptcha-content2 img {
	pointer-events: none;
}
.kaptcha-content2 > .mask_img_bg2 > img {
	z-index: 11;
}
#vcode_refresh {
	position: absolute;
	bottom: 1px;
	right: 8px;
	font-size: 1.6rem;
	cursor: pointer;
}

#fw-vcode-msg {
	width: calc(40% - 44px);
	position: fixed;
	bottom: 28px;
	right: 8px;
	font-size: 1.6rem;
	color: #fff;
	text-decoration: none;
	font-family: Roboto,sans-serif;
}
#fw-vcode-msg i::before {
	content: '';
	position: relative;
	border: 1px solid #fff;
	border-top: 0;
	border-bottom: 0;
	height: 14px;
	left: 0;
	top: 0;
	margin: 0;
	animation: pulse 1s infinite;
}
@keyframes dots-1 {
	from {
		opacity: 0
	}
	25% {
		opacity: 1
	}
}
@keyframes dots-2 {
	from {
		opacity: 0
	}
	50% {
		opacity: 1
	}
}
@keyframes dots-3 {
	from {
		opacity: 0
	}
	75% {
		opacity: 1
	}
}
@-webkit-keyframes dots-1 {
	from {
		opacity: 0
	}
	25% {
		opacity: 1
	}
}
@-webkit-keyframes dots-2 {
	from {
		opacity: 0
	}
	50% {
		opacity: 1
	}
}
@-webkit-keyframes dots-3 {
	from {
		opacity: 0
	}
	75% {
		opacity: 1
	}
}
#fw-login-msg .dots span,
#fw-vcode-msg .dots span,
.terminal__line .dots span {
	animation: dots-1 2s infinite steps(1);
	-webkit-animation: dots-1 2s infinite steps(1);
}
#fw-login-msg .dots span:first-child+span,
#fw-vcode-msg .dots span:first-child+span,
.terminal__line .dots span:first-child+span {
	animation-name: dots-2;
	-webkit-animation-name: dots-2;
}
#fw-login-msg .dots span:first-child+span+span,
#fw-vcode-msg .dots span:first-child+span+span,
.terminal__line .dots span:first-child+span+span {
	animation-name: dots-3;
	-webkit-animation-name: dots-3;
}

@keyframes pulse {
	0%,50%  {
		opacity: 1
	}
	51%,100% {
		opacity: 0
	}
}

.vcode {
	width: 100vw;
	height: 100vh;
	background-color: #212423;
	color: #fff;
	position: fixed;
	z-index: 999;
	left: 0;
	top: 0;
}

.btn {
	margin: 0;
	padding: 0;
	cursor: pointer;
	border: none;
	background: none;
}
.btn:focus {
	outline: none;
}
.terminal__line a, .btn {
	text-decoration: none;
	color: #34fc47;
	outline: none;
}
/* Layout for search container */
.search {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	position: fixed;
	z-index: 1000;
	top: 0;
	left: 0;
	width: 60%;
	height: calc(100% - 80px);
	border: 1px solid #4f4c4c;
	margin: 50px 30px;
	padding: 0px 8px;
	background-color: #000000;
	overflow: hidden;
}
.search-title {
	color: #fff;
	font-weight: bolder;
	font-size: 2.6rem;
	float: left;
}
.vcode-header .am-close {
	color: #fff;
	font-weight: bolder;
	font-size: 2.6rem;
	float: right;
	line-height: 50px;
}
.vcode-header .am-close:before {
	content: "✖";
}

.terminal__line {
	line-height: 1.25;
	overflow: hidden;
	width: 0;
	height: 0;
	margin: 0;
	white-space: nowrap;
}

.search__form::before {
	content: '\f120';
}

.search__input {
	border: 0;
	background: transparent;
	border-radius: 0;
	-webkit-appearance: none;
	font-family: inherit;
	line-height: 1;
	display: inline-block;
	box-sizing: border-box;
	padding: 0.05em 0;
	color: #fff;
	width: 90%;
}

.terminal__line,
.search__input {
	font-family: 'VT323', monospace;
	/*font-size: 1.25em;*/
}

.search__input::-webkit-input-placeholder {
	/* WebKit, Blink, Edge */
	color: #4a319e;
}

.search__input::-moz-placeholder {
	opacity: 1;
	/* Mozilla Firefox 19+ */
	color: #4a319e;
}

.search__input:-ms-input-placeholder {
	/* Internet Explorer 10-11 */
	color: #4a319e;
}

.search__input::-webkit-search-cancel-button,
.search__input::-webkit-search-decoration {
	-webkit-appearance: none;
}

.search__input::-ms-clear {
	display: none;
}

/************************/
/* Transitions 			*/
/************************/

.main-wrap {
	transition: opacity 0.3s;
}

.main-wrap--hide {
	pointer-events: none;
	opacity: 0;
}

.main-wrap--move .btn--search {
	pointer-events: none;
	opacity: 0;
}

.search {
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.3s;
}

.search--open {
	pointer-events: auto;
	opacity: 1;
}

/*.search--open .terminal__line:first-child {
	width: 31ch;
}
.search--open .terminal__line:nth-child(2) {
	width: 39ch;
}
.search--open .terminal__line:nth-child(3) {
	width: 40ch;
}
.search--open .terminal__line:nth-child(4) {
	width: 50ch;
}
.search--open .terminal__line:nth-child(5) {
	width: 39ch;
}
.search--open .terminal__line:nth-child(6) {
	width: 42ch;
}*/
/*.search--open .terminal__line:nth-child(7) {
	width: 19ch;
}
.search--open .terminal__line:nth-child(8) {
	width: 24ch;
}
.search--open .terminal__line:nth-child(9) {
	width: 15ch;
}
.search--open .terminal__line:nth-child(10) {
	width: 19ch;
}
.search--open .terminal__line:nth-child(11) {
	width: 17ch;
}*/

.search--open .terminal__line {
	animation: typing 1s steps(30, end), scaleUp 0.1s forwards;
	width: 60ch;
}
/*
.search--open .terminal__line:first-child {
	animation-timing-function: steps(20, end), ease;
}

.search--open .terminal__line:nth-child(2) {
	animation-delay: 2s;
}

.search--open .terminal__line:nth-child(3) {
	animation-delay: 4s;
}

.search--open .terminal__line:nth-child(2),
.search--open .terminal__line:nth-child(3) {
	animation-duration: 1.35s, 0.1s;
	animation-timing-function: steps(27, end), ease;
}

.search--open .terminal__line:nth-child(4) {
	animation-duration: 1.4s, 0.1s;
	animation-timing-function: steps(28, end), ease;
	animation-delay: 6.5s;
}

.search--open .terminal__line:nth-child(5) {
	animation-duration: 0.35s, 0.1s;
	animation-timing-function: steps(7, end), ease;
	animation-delay: 8.75s;
}

.search--open .terminal__line:nth-child(6) {
	animation-duration: 0.8s, 0.1s;
	animation-timing-function: steps(16, end), ease;
	animation-delay: 8.1s;
}*/
/*
.search--open .terminal__line:nth-child(7) {
	animation-duration: 0.7s, 0.1s;
	animation-timing-function: steps(14, end), ease;
	animation-delay: 8.9s;
}

.search--open .terminal__line:nth-child(8) {
	animation-duration: 0.95s, 0.1s;
	animation-timing-function: steps(19, end), ease;
	animation-delay: 9.6s;
}

.search--open .terminal__line:nth-child(9) {
	animation-duration: 0.5s, 0.1s;
	animation-timing-function: steps(10, end), ease;
	animation-delay: 10.55s;
}

.search--open .terminal__line:nth-child(10) {
	animation-duration: 0.65s, 0.1s;
	animation-timing-function: steps(13, end), ease;
	animation-delay: 11.05s;
}

.search--open .terminal__line:nth-child(11) {
	animation-duration: 0.6s, 0.1s;
	animation-timing-function: steps(12, end), ease;
	animation-delay: 11.7s;
}*/

/* Type animation by Lea Verou http://lea.verou.me/2012/02/simpler-css-typing-animation-with-the-ch-unit/ */
@keyframes typing {
	from {
		width: 0;
	}
}

@keyframes scaleUp {
	from {
		height: 0;
	} to {
		  height: 1.5em;
	  }
}

/* Close button */
.btn--search-close {
	opacity: 0;
	transition: opacity 0.5s;
}

.search--open .btn--search-close {
	opacity: 1;
}

/* Search form with input and description */

.search__form {
	opacity: 0;
}

.search--open .search__form {
	opacity: 1;
	transition: opacity 0.3s 3.35s;
}

@media screen and (max-width: 40em) {
	.btn--search-close {
		font-size: 1.25em;
	}
	.search {
		padding: 0.5em;
	}
}
